<ManagementPack ContentReadable="true" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <Manifest>
    <Identity>
      <ID>CustomHyperVMP</ID>
      <Version>1.0.1.2</Version>
    </Identity>
    <Name>CustomHyperVMP</Name>
    <References>
      <Reference Alias="SCDW">
        <ID>Microsoft.SystemCenter.DataWarehouse.Library</ID>
        <Version>6.1.7221.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="SC">
        <ID>Microsoft.SystemCenter.Library</ID>
        <Version>6.1.7221.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="MicrosoftWindowsHyperVLibrary">
        <ID>Microsoft.Windows.HyperV.Library</ID>
        <Version>6.0.6633.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="Windows">
        <ID>Microsoft.Windows.Library</ID>
        <Version>6.1.7221.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="MicrosoftWindowsServerLibrary6067940">
        <ID>Microsoft.Windows.Server.Library</ID>
        <Version>6.0.6794.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="Health">
        <ID>System.Health.Library</ID>
        <Version>6.1.7221.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="System">
        <ID>System.Library</ID>
        <Version>6.1.7221.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="Performance">
        <ID>System.Performance.Library</ID>
        <Version>6.1.7221.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
    </References>
  </Manifest>
  <Monitoring>
    <Rules>
      <Rule ID="CustomHyperVMP.ContextSwitchesSecCounter" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Context Switches/sec</CounterName>
            <ObjectName>System</ObjectName>
            <InstanceName />
            <AllInstances>false</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>50</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.DynamicMemoryVMGuestVisiblePhysicalMemory" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Guest Visible Physical Memory</CounterName>
            <ObjectName>Hyper-V Dynamic Memory VM</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.DynamicMemoryVMPhysicalMemory" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Physical Memory</CounterName>
            <ObjectName>Hyper-V Dynamic Memory VM</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.HyperVLogicalProcessorContextSwitchesRule" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Context Switches/sec</CounterName>
            <ObjectName>Hyper-V Hypervisor Logical Processor</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>1800</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>10</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.HyperVLogicalProcessorRule" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName><![CDATA[% Total Run Time]]></CounterName>
            <ObjectName>Hyper-V Hypervisor Logical Processor</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.HyperVVirtualNetworkAdapter" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Bytes/sec</CounterName>
            <ObjectName>Hyper-V Virtual Network Adapter</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.HyperVVirtualProcessorRule" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName><![CDATA[% Guest Run Time]]></CounterName>
            <ObjectName>Hyper-V Hypervisor Virtual Processor</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.HyperVVirtualStorageDevice" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Read Bytes/sec</CounterName>
            <ObjectName>Hyper-V Virtual Storage Device </ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.HyperVVirtualStorageDeviceWrites" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Write Bytes/sec</CounterName>
            <ObjectName>Hyper-V Virtual Storage Device</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.HyperVVirtualSwitch" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Bytes/sec</CounterName>
            <ObjectName>Hyper-V Virtual Switch</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.Logical.Processor.Hypervisor.RunTime.Rule" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName><![CDATA[% Hypervisor Run Time]]></CounterName>
            <ObjectName>Hyper-V Hypervisor Logical Processor</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>1800</Frequency>
            <Tolerance>12</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>10</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.LogicalDiskQueueLenght" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Current Disk Queue Length</CounterName>
            <ObjectName>LogicalDisk</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>10</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.LogicalDiskSecPerRead" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Avg. Disk sec/Read</CounterName>
            <ObjectName>LogicalDisk</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>0.005</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.LogicalDiskSecPerWrite" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Avg. Disk sec/Write</CounterName>
            <ObjectName>LogicalDisk</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>0.005</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.LogicalDiskTransferSec" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Disk Transfers/sec</CounterName>
            <ObjectName>LogicalDisk</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>0.005</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.NetworkInterface.BytesSent" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Bytes Sent/sec</CounterName>
            <ObjectName>Network Interface</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>1000</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.NetworkInterfaceReceived" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Bytes Received/sec</CounterName>
            <ObjectName>Network Interface</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>1000</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.NUMANodePageCount" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>PageCount</CounterName>
            <ObjectName>Hyper-V VM Vid Numa Node</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.NUMANodeProcessorCount" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>ProcessorCount</CounterName>
            <ObjectName>Hyper-V VM Vid Numa Node</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.PercentProcessorTime.Collection" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName><![CDATA[% Processor Time]]></CounterName>
            <ObjectName>Process</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>2</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.PhysicalDisk.TransfersSeconds" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Disk Transfers/sec</CounterName>
            <ObjectName>PhysicalDisk</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>0.005</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.PhysicalDiskQueueLenght" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Current Disk Queue Length</CounterName>
            <ObjectName>PhysicalDisk</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>10</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.PhysicalDiskSecondsPerRead" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Avg. Disk sec/Read</CounterName>
            <ObjectName>PhysicalDisk</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>0.005</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.PhysicalDiskSecondsPerWrite" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Avg. Disk sec/Write</CounterName>
            <ObjectName>PhysicalDisk</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>0.005</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.Processor.QueueLength" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Processor Queue Length</CounterName>
            <ObjectName>System</ObjectName>
            <InstanceName />
            <AllInstances>false</AllInstances>
            <Frequency>300</Frequency>
            <Tolerance>2</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
      <Rule ID="CustomHyperVMP.WorkingSet" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>PerformanceCollection</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Performance!System.Performance.OptimizedDataProvider">
            <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
            <CounterName>Working Set</CounterName>
            <ObjectName>Process</ObjectName>
            <InstanceName />
            <AllInstances>true</AllInstances>
            <Frequency>900</Frequency>
            <Tolerance>5</Tolerance>
            <ToleranceType>Absolute</ToleranceType>
            <MaximumSampleSeparation>12</MaximumSampleSeparation>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" />
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
        </WriteActions>
      </Rule>
    </Rules>
    <Monitors>
      <UnitMonitor ID="CustomHyperVMP.DMBalancerAveragePressure.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.DMBalancerAveragePressure.Monitor_AlertMessageResourceID">
          <AlertOnState>Warning</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Warning" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Average Pressure</CounterName>
          <ObjectName>Hyper-V Dynamic Memory Balancer</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>60</Frequency>
          <Threshold>83</Threshold>
          <Direction>greater</Direction>
          <NumSamples>5</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.DMBalancerAveragePressure.Monitor.Critical" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.DMBalancerAveragePressure.Monitor.Critical_AlertMessageResourceID">
          <AlertOnState>Error</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Average Pressure</CounterName>
          <ObjectName>Hyper-V Dynamic Memory Balancer</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>60</Frequency>
          <Threshold>100</Threshold>
          <Direction>greater</Direction>
          <NumSamples>5</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor_AlertMessageResourceID">
          <AlertOnState>Warning</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Warning" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Average Pressure</CounterName>
          <ObjectName>Hyper-V Dynamic Memory VM</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>60</Frequency>
          <Threshold>83</Threshold>
          <Direction>greater</Direction>
          <NumSamples>5</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor.Critical" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor.Critical_AlertMessageResourceID">
          <AlertOnState>Error</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Average Pressure</CounterName>
          <ObjectName>Hyper-V Dynamic Memory VM</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>60</Frequency>
          <Threshold>100</Threshold>
          <Direction>greater</Direction>
          <NumSamples>5</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.HyperVirtualProcessor.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.HyperVirtualProcessor.Monitor_AlertMessageResourceID">
          <AlertOnState>Error</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName><![CDATA[% Guest Run Time]]></CounterName>
          <ObjectName>Hyper-V Hypervisor Virtual Processor</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>30</Frequency>
          <Threshold>90</Threshold>
          <Direction>greater</Direction>
          <NumSamples>2</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.HyperVLogicalProcessor.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.HyperVLogicalProcessor.Monitor_AlertMessageResourceID">
          <AlertOnState>Error</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName><![CDATA[% Total Run Time]]></CounterName>
          <ObjectName>Hyper-V Hypervisor Logical Processor</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>30</Frequency>
          <Threshold>90</Threshold>
          <Direction>greater</Direction>
          <NumSamples>2</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.HyperVLogicalProcessorContextSwitches" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Warning" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Context Switches/sec</CounterName>
          <ObjectName>Hyper-V Hypervisor Logical Processor</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>30</Frequency>
          <Threshold>20000</Threshold>
          <Direction>greater</Direction>
          <NumSamples>2</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Critical" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Critical_AlertMessageResourceID">
          <AlertOnState>Error</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName><![CDATA[% Hypervisor Run Time]]></CounterName>
          <ObjectName>Hyper-V Hypervisor Logical Processor</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>60</Frequency>
          <Threshold>40</Threshold>
          <Direction>greater</Direction>
          <NumSamples>5</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Warning" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Warning_AlertMessageResourceID">
          <AlertOnState>Warning</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Warning" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName><![CDATA[% Hypervisor Run Time]]></CounterName>
          <ObjectName>Hyper-V Hypervisor Logical Processor</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>60</Frequency>
          <Threshold>30</Threshold>
          <Direction>greater</Direction>
          <NumSamples>5</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.HyperVVirtualMachineHealthSummary.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>AvailabilityHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.HyperVVirtualMachineHealthSummary.Monitor_AlertMessageResourceID">
          <AlertOnState>Warning</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Warning" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Health Critical</CounterName>
          <ObjectName>Hyper-V Virtual Machine Health Summary</ObjectName>
          <InstanceName />
          <AllInstances>false</AllInstances>
          <Frequency>60</Frequency>
          <Threshold>1</Threshold>
          <Direction>greater</Direction>
          <NumSamples>5</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.HyperVVirtualMachineSummary.Monitor" Accessibility="Internal" Enabled="false" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>AvailabilityHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.HyperVVirtualMachineSummary.Monitor_AlertMessageResourceID">
          <AlertOnState>Warning</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Warning" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Turned Off</CounterName>
          <ObjectName>Hyper-V Virtual Machine Summary</ObjectName>
          <InstanceName />
          <AllInstances>false</AllInstances>
          <Frequency>60</Frequency>
          <Threshold>1</Threshold>
          <Direction>greater</Direction>
          <NumSamples>5</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.HyperVVirtualStorageErrorCount.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.HyperVVirtualStorageErrorCount.Monitor_AlertMessageResourceID">
          <AlertOnState>Warning</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Warning" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Error Count</CounterName>
          <ObjectName>Hyper-V Virtual Storage Device</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>60</Frequency>
          <Threshold>1</Threshold>
          <Direction>greater</Direction>
          <NumSamples>5</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.LogicalDisk.Avg.DiskSecRead.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.LogicalDisk.Avg.DiskSecRead.Monitor_AlertMessageResourceID">
          <AlertOnState>Error</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Avg. Disk sec/Read</CounterName>
          <ObjectName>LogicalDisk</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>30</Frequency>
          <Threshold>0.025</Threshold>
          <Direction>greater</Direction>
          <NumSamples>2</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.LogicalDiskSecWrite.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.LogicalDiskSecWrite.Monitor_AlertMessageResourceID">
          <AlertOnState>Error</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Avg. Disk sec/Write</CounterName>
          <ObjectName>LogicalDisk</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>30</Frequency>
          <Threshold>0.025</Threshold>
          <Direction>greater</Direction>
          <NumSamples>2</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.MemoryAvailableMB" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.DoubleThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.MemoryAvailableMB_AlertMessageResourceID">
          <AlertOnState>Error</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Error" />
          <OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning" />
          <OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Success" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Available MBytes</CounterName>
          <ObjectName>Memory</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>300</Frequency>
          <Threshold1>1000</Threshold1>
          <Threshold2>2000</Threshold2>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.NetworkInterface.OutputQueueLength.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.NetworkInterface.OutputQueueLength.Monitor_AlertMessageResourceID">
          <AlertOnState>Error</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Output Queue Length</CounterName>
          <ObjectName>Network Interface</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>120</Frequency>
          <Threshold>1.5</Threshold>
          <Direction>greater</Direction>
          <NumSamples>3</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.NUMARemotePages.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.NUMARemotePages.Monitor_AlertMessageResourceID">
          <AlertOnState>Warning</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Warning" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Remote Physical Pages</CounterName>
          <ObjectName>Hyper-V VM Vid Partition</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>300</Frequency>
          <Threshold>1</Threshold>
          <Direction>greater</Direction>
          <NumSamples>4</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.PhysicalDisk.SecPerRead.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.PhysicalDisk.SecPerRead.Monitor_AlertMessageResourceID">
          <AlertOnState>Error</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Avg. Disk sec/Read</CounterName>
          <ObjectName>PhysicalDisk</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>30</Frequency>
          <Threshold>0.025</Threshold>
          <Direction>greater</Direction>
          <NumSamples>2</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.PhysicalDisk.SecPerWrite.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.PhysicalDisk.SecPerWrite.Monitor_AlertMessageResourceID">
          <AlertOnState>Error</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Avg. Disk sec/Read</CounterName>
          <ObjectName>PhysicalDisk</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>30</Frequency>
          <Threshold>0.025</Threshold>
          <Direction>greater</Direction>
          <NumSamples>2</NumSamples>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.SLATAddressSpace.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ThresholdMonitorType" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.SLATAddressSpace.Monitor_AlertMessageResourceID">
          <AlertOnState>Warning</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success" />
          <OperationalState ID="OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Warning" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Address Spaces</CounterName>
          <ObjectName>Hyper-V Hypervisor Root Partition</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>86400</Frequency>
          <Threshold>0</Threshold>
        </Configuration>
      </UnitMonitor>
      <UnitMonitor ID="CustomHyperVMP.VirtualTLBFlush.Monitor" Accessibility="Internal" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
        <Category>PerformanceHealth</Category>
        <AlertSettings AlertMessage="CustomHyperVMP.VirtualTLBFlush.Monitor_AlertMessageResourceID">
          <AlertOnState>Warning</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>Normal</AlertPriority>
          <AlertSeverity>MatchMonitorHealth</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
            <AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
            <AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
            <AlertParameter4>$Data/Context/Value$</AlertParameter4>
            <AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success" />
          <OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Warning" />
        </OperationalStates>
        <Configuration>
          <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
          <CounterName>Virtual TLB Flush Entires/sec</CounterName>
          <ObjectName>Hyper-V Hypervisor Root Partition</ObjectName>
          <InstanceName />
          <AllInstances>true</AllInstances>
          <Frequency>60</Frequency>
          <Threshold>100</Threshold>
          <Direction>greaterequal</Direction>
          <NumSamples>3</NumSamples>
        </Configuration>
      </UnitMonitor>
    </Monitors>
  </Monitoring>
  <Presentation>
    <Views>
      <View ID="View_0e80455c3ada4bccae324d519d365dcb" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" TypeID="SC!Microsoft.SystemCenter.PerformanceViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <RuleList>
            <Rule>$MPElement[Name='CustomHyperVMP.PhysicalDiskSecondsPerRead']$</Rule>
            <Rule>$MPElement[Name='CustomHyperVMP.PhysicalDiskSecondsPerWrite']$</Rule>
          </RuleList>
        </Criteria>
        <Presentation>
          <SortedColumnIndex>0</SortedColumnIndex>
          <SortOrder>0</SortOrder>
          <StartTime>2011-08-22T17:46:30.9916692+02:00</StartTime>
          <EndTime>2011-08-23T17:46:30.9916692+02:00</EndTime>
          <DynamicTimeTicks>864000000000</DynamicTimeTicks>
          <IsDynamic>true</IsDynamic>
          <Is3DMode>false</Is3DMode>
          <ShowAlerts>false</ShowAlerts>
          <ShowMaintenanceMode>false</ShowMaintenanceMode>
          <BaselineMode>false</BaselineMode>
          <ShowPointLabels>false</ShowPointLabels>
          <EnableSmartLabels>true</EnableSmartLabels>
          <RightAngleAxes>false</RightAngleAxes>
          <ClusterSeries>false</ClusterSeries>
          <Title />
          <TitleFont>Microsoft Sans Serif,12,Regular</TitleFont>
          <ChartFont>Microsoft Sans Serif,8.25,Regular</ChartFont>
          <ShowBands>false</ShowBands>
          <BandColor>-1579033</BandColor>
          <ChartType>Line</ChartType>
          <Depth>100</Depth>
          <GapDepth>100</GapDepth>
          <Perspective>10</Perspective>
          <GraphXRotation>0</GraphXRotation>
          <GraphYRotation>0</GraphYRotation>
          <XLabelAngle>0</XLabelAngle>
          <LabelColor>-16777216</LabelColor>
          <LabelFont>Microsoft Sans Serif,8.25,Regular</LabelFont>
          <XAxisVisible>True</XAxisVisible>
          <XShowMajorGridlines>false</XShowMajorGridlines>
          <XShowMinorGridlines>false</XShowMinorGridlines>
          <ShowInterlaceStrips>false</ShowInterlaceStrips>
          <XInterlaceColor>16777215</XInterlaceColor>
          <XShowSideMargin>true</XShowSideMargin>
          <XAxisFont>Microsoft Sans Serif,8.25,Regular</XAxisFont>
          <AutoAxis>true</AutoAxis>
          <AxisMax>100</AxisMax>
          <AxisMin>0</AxisMin>
          <YAxisVisible>True</YAxisVisible>
          <YShowMajorGridlines>true</YShowMajorGridlines>
          <YShowMinorGridlines>false</YShowMinorGridlines>
          <YShowInterlaceStrips>false</YShowInterlaceStrips>
          <YShowSideMargin>true</YShowSideMargin>
          <YAxisFont>Microsoft Sans Serif,8.25,Regular</YAxisFont>
          <BackgroundColor1>-1</BackgroundColor1>
          <BackgroundColor2>-1</BackgroundColor2>
          <GradientType>None</GradientType>
          <Series />
        </Presentation>
        <Target />
      </View>
      <View ID="View_160b3658178d4f49b5d2cddb5b350441" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <ResolutionState>
            <State>0</State>
          </ResolutionState>
        </Criteria>
        <Presentation>
          <ColumnInfo Index="0" SortIndex="0" Width="22" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Severity</Name>
            <Id>Severity</Id>
          </ColumnInfo>
          <ColumnInfo Index="1" SortIndex="-1" Width="54" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
            <Name>Icon</Name>
            <Id>Icon</Id>
          </ColumnInfo>
          <ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Path</Name>
            <Id>MonitoringObjectPath</Id>
          </ColumnInfo>
          <ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Source</Name>
            <Id>MonitoringObjectDisplayName</Id>
          </ColumnInfo>
          <ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Maintenance Mode</Name>
            <Id>MonitoringObjectInMaintenanceMode</Id>
          </ColumnInfo>
          <ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Name</Name>
            <Id>Name</Id>
          </ColumnInfo>
          <ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Resolution State</Name>
            <Id>ResolutionState</Id>
          </ColumnInfo>
          <ColumnInfo Index="7" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Created</Name>
            <Id>TimeRaised</Id>
          </ColumnInfo>
          <ColumnInfo Index="8" SortIndex="1" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Age</Name>
            <Id>Age</Id>
          </ColumnInfo>
          <ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Type</Name>
            <Id>Category</Id>
          </ColumnInfo>
          <ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Owner</Name>
            <Id>Owner</Id>
          </ColumnInfo>
          <ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Priority</Name>
            <Id>Priority</Id>
          </ColumnInfo>
          <ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Latency</Name>
            <Id>Latency</Id>
          </ColumnInfo>
          <ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Description</Name>
            <Id>Description</Id>
          </ColumnInfo>
          <ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Connector</Name>
            <Id>ConnectorId</Id>
          </ColumnInfo>
          <ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Forwarding Status</Name>
            <Id>ConnectorStatus</Id>
          </ColumnInfo>
          <ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Class</Name>
            <Id>Class</Id>
          </ColumnInfo>
          <ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Time in State</Name>
            <Id>TimeInState</Id>
          </ColumnInfo>
          <ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 1</Name>
            <Id>CustomField1</Id>
          </ColumnInfo>
          <ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 2</Name>
            <Id>CustomField2</Id>
          </ColumnInfo>
          <ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 3</Name>
            <Id>CustomField3</Id>
          </ColumnInfo>
          <ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 4</Name>
            <Id>CustomField4</Id>
          </ColumnInfo>
          <ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 5</Name>
            <Id>CustomField5</Id>
          </ColumnInfo>
          <ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 6</Name>
            <Id>CustomField6</Id>
          </ColumnInfo>
          <ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 7</Name>
            <Id>CustomField7</Id>
          </ColumnInfo>
          <ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 8</Name>
            <Id>CustomField8</Id>
          </ColumnInfo>
          <ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 9</Name>
            <Id>CustomField9</Id>
          </ColumnInfo>
          <ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 10</Name>
            <Id>CustomField10</Id>
          </ColumnInfo>
          <ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Resolved By</Name>
            <Id>ResolvedBy</Id>
          </ColumnInfo>
          <ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Time Resolved</Name>
            <Id>TimeResolved</Id>
          </ColumnInfo>
          <ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Last State Change</Name>
            <Id>TimeResolutionStateLastModified</Id>
          </ColumnInfo>
          <ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Last Modified</Name>
            <Id>LastModified</Id>
          </ColumnInfo>
          <ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Last Modified By</Name>
            <Id>LastModifiedBy</Id>
          </ColumnInfo>
          <ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Management Group</Name>
            <Id>ManagementGroup</Id>
          </ColumnInfo>
          <ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Site</Name>
            <Id>SiteName</Id>
          </ColumnInfo>
          <ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Repeat Count</Name>
            <Id>RepeatCount</Id>
          </ColumnInfo>
          <ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Ticket ID</Name>
            <Id>TicketId</Id>
          </ColumnInfo>
        </Presentation>
        <Target />
      </View>
      <View ID="View_174f04000c434f40a500ad515523a4c4" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.VirtualDrive" TypeID="SC!Microsoft.SystemCenter.PerformanceViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <RuleList>
            <Rule>$MPElement[Name='CustomHyperVMP.HyperVVirtualStorageDevice']$</Rule>
            <Rule>$MPElement[Name='CustomHyperVMP.HyperVVirtualStorageDeviceWrites']$</Rule>
          </RuleList>
        </Criteria>
        <Presentation>
          <SortedColumnIndex>0</SortedColumnIndex>
          <SortOrder>0</SortOrder>
          <StartTime>2011-09-21T09:09:55.7955061+02:00</StartTime>
          <EndTime>2011-09-22T09:09:55.7955061+02:00</EndTime>
          <DynamicTimeTicks>864000000000</DynamicTimeTicks>
          <IsDynamic>true</IsDynamic>
          <Is3DMode>false</Is3DMode>
          <ShowAlerts>false</ShowAlerts>
          <ShowMaintenanceMode>false</ShowMaintenanceMode>
          <BaselineMode>false</BaselineMode>
          <ShowPointLabels>false</ShowPointLabels>
          <EnableSmartLabels>true</EnableSmartLabels>
          <RightAngleAxes>false</RightAngleAxes>
          <ClusterSeries>false</ClusterSeries>
          <Title />
          <TitleFont>Microsoft Sans Serif,12,Regular</TitleFont>
          <ChartFont>Microsoft Sans Serif,8.25,Regular</ChartFont>
          <ShowBands>false</ShowBands>
          <BandColor>-1579033</BandColor>
          <ChartType>Line</ChartType>
          <Depth>100</Depth>
          <GapDepth>100</GapDepth>
          <Perspective>10</Perspective>
          <GraphXRotation>0</GraphXRotation>
          <GraphYRotation>0</GraphYRotation>
          <XLabelAngle>0</XLabelAngle>
          <LabelColor>-16777216</LabelColor>
          <LabelFont>Microsoft Sans Serif,8.25,Regular</LabelFont>
          <XAxisVisible>True</XAxisVisible>
          <XShowMajorGridlines>false</XShowMajorGridlines>
          <XShowMinorGridlines>false</XShowMinorGridlines>
          <ShowInterlaceStrips>false</ShowInterlaceStrips>
          <XInterlaceColor>16777215</XInterlaceColor>
          <XShowSideMargin>true</XShowSideMargin>
          <XAxisFont>Microsoft Sans Serif,8.25,Regular</XAxisFont>
          <AutoAxis>true</AutoAxis>
          <AxisMax>100</AxisMax>
          <AxisMin>0</AxisMin>
          <YAxisVisible>True</YAxisVisible>
          <YShowMajorGridlines>true</YShowMajorGridlines>
          <YShowMinorGridlines>false</YShowMinorGridlines>
          <YShowInterlaceStrips>false</YShowInterlaceStrips>
          <YShowSideMargin>true</YShowSideMargin>
          <YAxisFont>Microsoft Sans Serif,8.25,Regular</YAxisFont>
          <BackgroundColor1>-1</BackgroundColor1>
          <BackgroundColor2>-1</BackgroundColor2>
          <GradientType>None</GradientType>
          <Series />
        </Presentation>
        <Target />
      </View>
      <View ID="View_2c59abbc85624b919cead5fe7bd30974" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" TypeID="SC!Microsoft.SystemCenter.PerformanceViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <RuleList>
            <Rule>$MPElement[Name='CustomHyperVMP.NUMANodePageCount']$</Rule>
            <Rule>$MPElement[Name='CustomHyperVMP.NUMANodeProcessorCount']$</Rule>
          </RuleList>
        </Criteria>
        <Presentation>
          <SortedColumnIndex>0</SortedColumnIndex>
          <SortOrder>0</SortOrder>
          <StartTime>2011-08-22T17:39:35.1412285+02:00</StartTime>
          <EndTime>2011-08-23T17:39:35.1412285+02:00</EndTime>
          <DynamicTimeTicks>864000000000</DynamicTimeTicks>
          <IsDynamic>true</IsDynamic>
          <Is3DMode>false</Is3DMode>
          <ShowAlerts>false</ShowAlerts>
          <ShowMaintenanceMode>false</ShowMaintenanceMode>
          <BaselineMode>false</BaselineMode>
          <ShowPointLabels>false</ShowPointLabels>
          <EnableSmartLabels>true</EnableSmartLabels>
          <RightAngleAxes>false</RightAngleAxes>
          <ClusterSeries>false</ClusterSeries>
          <Title />
          <TitleFont>Microsoft Sans Serif,12,Regular</TitleFont>
          <ChartFont>Microsoft Sans Serif,8.25,Regular</ChartFont>
          <ShowBands>false</ShowBands>
          <BandColor>-1579033</BandColor>
          <ChartType>Line</ChartType>
          <Depth>100</Depth>
          <GapDepth>100</GapDepth>
          <Perspective>10</Perspective>
          <GraphXRotation>0</GraphXRotation>
          <GraphYRotation>0</GraphYRotation>
          <XLabelAngle>0</XLabelAngle>
          <LabelColor>-16777216</LabelColor>
          <LabelFont>Microsoft Sans Serif,8.25,Regular</LabelFont>
          <XAxisVisible>True</XAxisVisible>
          <XShowMajorGridlines>false</XShowMajorGridlines>
          <XShowMinorGridlines>false</XShowMinorGridlines>
          <ShowInterlaceStrips>false</ShowInterlaceStrips>
          <XInterlaceColor>16777215</XInterlaceColor>
          <XShowSideMargin>true</XShowSideMargin>
          <XAxisFont>Microsoft Sans Serif,8.25,Regular</XAxisFont>
          <AutoAxis>true</AutoAxis>
          <AxisMax>100</AxisMax>
          <AxisMin>0</AxisMin>
          <YAxisVisible>True</YAxisVisible>
          <YShowMajorGridlines>true</YShowMajorGridlines>
          <YShowMinorGridlines>false</YShowMinorGridlines>
          <YShowInterlaceStrips>false</YShowInterlaceStrips>
          <YShowSideMargin>true</YShowSideMargin>
          <YAxisFont>Microsoft Sans Serif,8.25,Regular</YAxisFont>
          <BackgroundColor1>-1</BackgroundColor1>
          <BackgroundColor2>-1</BackgroundColor2>
          <GradientType>None</GradientType>
          <Series />
        </Presentation>
        <Target />
      </View>
      <View ID="View_3cc4154d4d774242926fab1ff7af0fd4" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" TypeID="SC!Microsoft.SystemCenter.StateViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <InMaintenanceMode>false</InMaintenanceMode>
        </Criteria>
        <Presentation>
          <ColumnInfo Index="0" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
            <Name>State</Name>
            <Id>Microsoft.Windows.HyperV.ServerRole</Id>
          </ColumnInfo>
          <ColumnInfo Index="1" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>In Maintenance Mode</Name>
            <Id>InMaintenanceMode</Id>
          </ColumnInfo>
          <ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Name</Name>
            <Id>Name</Id>
          </ColumnInfo>
          <ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Path</Name>
            <Id>Path</Id>
          </ColumnInfo>
          <ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Server Id</Name>
            <Id>ServerId</Id>
          </ColumnInfo>
          <ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Server Name</Name>
            <Id>ServerName</Id>
          </ColumnInfo>
          <ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Display Name</Name>
            <Id>DisplayName</Id>
          </ColumnInfo>
          <ColumnInfo Index="7" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Hyper-V Host Network Interface</Name>
            <Id>BridgeWays.Windows.HyperV.Host.NetworkInterface</Id>
          </ColumnInfo>
          <ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Hyper-V Logical Processors</Name>
            <Id>BridgeWays.Windows.HyperV.Host.LogicalProcessors</Id>
          </ColumnInfo>
          <ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Hyper-V Virtual Storage</Name>
            <Id>BridgeWays.Windows.HyperV.Host.VirtualStorage</Id>
          </ColumnInfo>
          <ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Hyper-V Virtual Machine</Name>
            <Id>Microsoft.Windows.HyperV.VirtualMachine</Id>
          </ColumnInfo>
          <ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Hyper-V 2008 Virtual Machine</Name>
            <Id>Microsoft.Windows.HyperV.2008.VirtualMachine</Id>
          </ColumnInfo>
          <ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Hyper-V Virtual Network</Name>
            <Id>Microsoft.Windows.HyperV.VirtualNetwork</Id>
          </ColumnInfo>
          <ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Hyper-V Virtual External Network</Name>
            <Id>Microsoft.Windows.HyperV.VirtualExternalNetwork</Id>
          </ColumnInfo>
          <ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Hyper-V Virtual Internal Network</Name>
            <Id>Microsoft.Windows.HyperV.VirtualInternalNetwork</Id>
          </ColumnInfo>
        </Presentation>
        <Target />
      </View>
      <View ID="View_3ec1b7f190364dd39d80a01dee7a2fb5" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.VirtualNetwork" TypeID="SC!Microsoft.SystemCenter.PerformanceViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <RuleList>
            <Rule>$MPElement[Name='CustomHyperVMP.HyperVVirtualNetworkAdapter']$</Rule>
            <Rule>$MPElement[Name='CustomHyperVMP.HyperVVirtualSwitch']$</Rule>
          </RuleList>
        </Criteria>
        <Presentation>
          <SortedColumnIndex>0</SortedColumnIndex>
          <SortOrder>0</SortOrder>
          <StartTime>2011-09-21T09:06:56.5831822+02:00</StartTime>
          <EndTime>2011-09-22T09:06:56.5831822+02:00</EndTime>
          <DynamicTimeTicks>864000000000</DynamicTimeTicks>
          <IsDynamic>true</IsDynamic>
          <Is3DMode>false</Is3DMode>
          <ShowAlerts>false</ShowAlerts>
          <ShowMaintenanceMode>false</ShowMaintenanceMode>
          <BaselineMode>false</BaselineMode>
          <ShowPointLabels>false</ShowPointLabels>
          <EnableSmartLabels>true</EnableSmartLabels>
          <RightAngleAxes>false</RightAngleAxes>
          <ClusterSeries>false</ClusterSeries>
          <Title />
          <TitleFont>Microsoft Sans Serif,12,Regular</TitleFont>
          <ChartFont>Microsoft Sans Serif,8.25,Regular</ChartFont>
          <ShowBands>false</ShowBands>
          <BandColor>-1579033</BandColor>
          <ChartType>Line</ChartType>
          <Depth>100</Depth>
          <GapDepth>100</GapDepth>
          <Perspective>10</Perspective>
          <GraphXRotation>0</GraphXRotation>
          <GraphYRotation>0</GraphYRotation>
          <XLabelAngle>0</XLabelAngle>
          <LabelColor>-16777216</LabelColor>
          <LabelFont>Microsoft Sans Serif,8.25,Regular</LabelFont>
          <XAxisVisible>True</XAxisVisible>
          <XShowMajorGridlines>false</XShowMajorGridlines>
          <XShowMinorGridlines>false</XShowMinorGridlines>
          <ShowInterlaceStrips>false</ShowInterlaceStrips>
          <XInterlaceColor>16777215</XInterlaceColor>
          <XShowSideMargin>true</XShowSideMargin>
          <XAxisFont>Microsoft Sans Serif,8.25,Regular</XAxisFont>
          <AutoAxis>true</AutoAxis>
          <AxisMax>100</AxisMax>
          <AxisMin>0</AxisMin>
          <YAxisVisible>True</YAxisVisible>
          <YShowMajorGridlines>true</YShowMajorGridlines>
          <YShowMinorGridlines>false</YShowMinorGridlines>
          <YShowInterlaceStrips>false</YShowInterlaceStrips>
          <YShowSideMargin>true</YShowSideMargin>
          <YAxisFont>Microsoft Sans Serif,8.25,Regular</YAxisFont>
          <BackgroundColor1>-1</BackgroundColor1>
          <BackgroundColor2>-1</BackgroundColor2>
          <GradientType>None</GradientType>
          <Series />
        </Presentation>
        <Target />
      </View>
      <View ID="View_6632724a04f0433c85a2c8a2c8d913c3" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" TypeID="SC!Microsoft.SystemCenter.PerformanceViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <RuleList>
            <Rule>$MPElement[Name='CustomHyperVMP.PercentProcessorTime.Collection']$</Rule>
            <Rule>$MPElement[Name='CustomHyperVMP.WorkingSet']$</Rule>
          </RuleList>
        </Criteria>
        <Presentation>
          <SortedColumnIndex>0</SortedColumnIndex>
          <SortOrder>0</SortOrder>
          <StartTime>2011-08-22T17:48:50.6604065+02:00</StartTime>
          <EndTime>2011-08-23T17:48:50.6604065+02:00</EndTime>
          <DynamicTimeTicks>864000000000</DynamicTimeTicks>
          <IsDynamic>true</IsDynamic>
          <Is3DMode>false</Is3DMode>
          <ShowAlerts>false</ShowAlerts>
          <ShowMaintenanceMode>false</ShowMaintenanceMode>
          <BaselineMode>false</BaselineMode>
          <ShowPointLabels>false</ShowPointLabels>
          <EnableSmartLabels>true</EnableSmartLabels>
          <RightAngleAxes>false</RightAngleAxes>
          <ClusterSeries>false</ClusterSeries>
          <Title />
          <TitleFont>Microsoft Sans Serif,12,Regular</TitleFont>
          <ChartFont>Microsoft Sans Serif,8.25,Regular</ChartFont>
          <ShowBands>false</ShowBands>
          <BandColor>-1579033</BandColor>
          <ChartType>Line</ChartType>
          <Depth>100</Depth>
          <GapDepth>100</GapDepth>
          <Perspective>10</Perspective>
          <GraphXRotation>0</GraphXRotation>
          <GraphYRotation>0</GraphYRotation>
          <XLabelAngle>0</XLabelAngle>
          <LabelColor>-16777216</LabelColor>
          <LabelFont>Microsoft Sans Serif,8.25,Regular</LabelFont>
          <XAxisVisible>True</XAxisVisible>
          <XShowMajorGridlines>false</XShowMajorGridlines>
          <XShowMinorGridlines>false</XShowMinorGridlines>
          <ShowInterlaceStrips>false</ShowInterlaceStrips>
          <XInterlaceColor>16777215</XInterlaceColor>
          <XShowSideMargin>true</XShowSideMargin>
          <XAxisFont>Microsoft Sans Serif,8.25,Regular</XAxisFont>
          <AutoAxis>true</AutoAxis>
          <AxisMax>100</AxisMax>
          <AxisMin>0</AxisMin>
          <YAxisVisible>True</YAxisVisible>
          <YShowMajorGridlines>true</YShowMajorGridlines>
          <YShowMinorGridlines>false</YShowMinorGridlines>
          <YShowInterlaceStrips>false</YShowInterlaceStrips>
          <YShowSideMargin>true</YShowSideMargin>
          <YAxisFont>Microsoft Sans Serif,8.25,Regular</YAxisFont>
          <BackgroundColor1>-1</BackgroundColor1>
          <BackgroundColor2>-1</BackgroundColor2>
          <GradientType>None</GradientType>
          <Series />
        </Presentation>
        <Target />
      </View>
      <View ID="View_82719125bbbb4ffda0852cd71abe7cee" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" TypeID="SC!Microsoft.SystemCenter.PerformanceViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <RuleList>
            <Rule>$MPElement[Name='CustomHyperVMP.NetworkInterfaceReceived']$</Rule>
            <Rule>$MPElement[Name='CustomHyperVMP.NetworkInterface.BytesSent']$</Rule>
          </RuleList>
        </Criteria>
        <Presentation>
          <SortedColumnIndex>0</SortedColumnIndex>
          <SortOrder>0</SortOrder>
          <StartTime>2011-09-21T09:17:09.272065+02:00</StartTime>
          <EndTime>2011-09-22T09:17:09.272065+02:00</EndTime>
          <DynamicTimeTicks>864000000000</DynamicTimeTicks>
          <IsDynamic>true</IsDynamic>
          <Is3DMode>false</Is3DMode>
          <ShowAlerts>false</ShowAlerts>
          <ShowMaintenanceMode>false</ShowMaintenanceMode>
          <BaselineMode>false</BaselineMode>
          <ShowPointLabels>false</ShowPointLabels>
          <EnableSmartLabels>true</EnableSmartLabels>
          <RightAngleAxes>false</RightAngleAxes>
          <ClusterSeries>false</ClusterSeries>
          <Title />
          <TitleFont>Microsoft Sans Serif,12,Regular</TitleFont>
          <ChartFont>Microsoft Sans Serif,8.25,Regular</ChartFont>
          <ShowBands>false</ShowBands>
          <BandColor>-1579033</BandColor>
          <ChartType>Line</ChartType>
          <Depth>100</Depth>
          <GapDepth>100</GapDepth>
          <Perspective>10</Perspective>
          <GraphXRotation>0</GraphXRotation>
          <GraphYRotation>0</GraphYRotation>
          <XLabelAngle>0</XLabelAngle>
          <LabelColor>-16777216</LabelColor>
          <LabelFont>Microsoft Sans Serif,8.25,Regular</LabelFont>
          <XAxisVisible>True</XAxisVisible>
          <XShowMajorGridlines>false</XShowMajorGridlines>
          <XShowMinorGridlines>false</XShowMinorGridlines>
          <ShowInterlaceStrips>false</ShowInterlaceStrips>
          <XInterlaceColor>16777215</XInterlaceColor>
          <XShowSideMargin>true</XShowSideMargin>
          <XAxisFont>Microsoft Sans Serif,8.25,Regular</XAxisFont>
          <AutoAxis>true</AutoAxis>
          <AxisMax>100</AxisMax>
          <AxisMin>0</AxisMin>
          <YAxisVisible>True</YAxisVisible>
          <YShowMajorGridlines>true</YShowMajorGridlines>
          <YShowMinorGridlines>false</YShowMinorGridlines>
          <YShowInterlaceStrips>false</YShowInterlaceStrips>
          <YShowSideMargin>true</YShowSideMargin>
          <YAxisFont>Microsoft Sans Serif,8.25,Regular</YAxisFont>
          <BackgroundColor1>-1</BackgroundColor1>
          <BackgroundColor2>-1</BackgroundColor2>
          <GradientType>None</GradientType>
          <Series />
        </Presentation>
        <Target />
      </View>
      <View ID="View_b3ae28c992ad48d7836e8921dc644ac7" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" TypeID="SC!Microsoft.SystemCenter.PerformanceViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <RuleList>
            <Rule>$MPElement[Name='CustomHyperVMP.LogicalDiskSecPerRead']$</Rule>
            <Rule>$MPElement[Name='CustomHyperVMP.LogicalDiskSecPerWrite']$</Rule>
            <Rule>$MPElement[Name='CustomHyperVMP.LogicalDiskTransferSec']$</Rule>
          </RuleList>
        </Criteria>
        <Presentation>
          <SortedColumnIndex>0</SortedColumnIndex>
          <SortOrder>0</SortOrder>
          <StartTime>2011-08-22T17:43:03.6144574+02:00</StartTime>
          <EndTime>2011-08-23T17:43:03.6144574+02:00</EndTime>
          <DynamicTimeTicks>864000000000</DynamicTimeTicks>
          <IsDynamic>true</IsDynamic>
          <Is3DMode>false</Is3DMode>
          <ShowAlerts>false</ShowAlerts>
          <ShowMaintenanceMode>false</ShowMaintenanceMode>
          <BaselineMode>false</BaselineMode>
          <ShowPointLabels>false</ShowPointLabels>
          <EnableSmartLabels>true</EnableSmartLabels>
          <RightAngleAxes>false</RightAngleAxes>
          <ClusterSeries>false</ClusterSeries>
          <Title />
          <TitleFont>Microsoft Sans Serif,12,Regular</TitleFont>
          <ChartFont>Microsoft Sans Serif,8.25,Regular</ChartFont>
          <ShowBands>false</ShowBands>
          <BandColor>-1579033</BandColor>
          <ChartType>Line</ChartType>
          <Depth>100</Depth>
          <GapDepth>100</GapDepth>
          <Perspective>10</Perspective>
          <GraphXRotation>0</GraphXRotation>
          <GraphYRotation>0</GraphYRotation>
          <XLabelAngle>0</XLabelAngle>
          <LabelColor>-16777216</LabelColor>
          <LabelFont>Microsoft Sans Serif,8.25,Regular</LabelFont>
          <XAxisVisible>True</XAxisVisible>
          <XShowMajorGridlines>false</XShowMajorGridlines>
          <XShowMinorGridlines>false</XShowMinorGridlines>
          <ShowInterlaceStrips>false</ShowInterlaceStrips>
          <XInterlaceColor>16777215</XInterlaceColor>
          <XShowSideMargin>true</XShowSideMargin>
          <XAxisFont>Microsoft Sans Serif,8.25,Regular</XAxisFont>
          <AutoAxis>true</AutoAxis>
          <AxisMax>100</AxisMax>
          <AxisMin>0</AxisMin>
          <YAxisVisible>True</YAxisVisible>
          <YShowMajorGridlines>true</YShowMajorGridlines>
          <YShowMinorGridlines>false</YShowMinorGridlines>
          <YShowInterlaceStrips>false</YShowInterlaceStrips>
          <YShowSideMargin>true</YShowSideMargin>
          <YAxisFont>Microsoft Sans Serif,8.25,Regular</YAxisFont>
          <BackgroundColor1>-1</BackgroundColor1>
          <BackgroundColor2>-1</BackgroundColor2>
          <GradientType>None</GradientType>
          <Series />
        </Presentation>
        <Target />
      </View>
      <View ID="View_bece1730d9074a7fbeca0a97a42cba57" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" TypeID="SC!Microsoft.SystemCenter.PerformanceViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <RuleList>
            <Rule>$MPElement[Name='CustomHyperVMP.Logical.Processor.Hypervisor.RunTime.Rule']$</Rule>
            <Rule>$MPElement[Name='CustomHyperVMP.HyperVLogicalProcessorRule']$</Rule>
          </RuleList>
        </Criteria>
        <Presentation>
          <SortedColumnIndex>0</SortedColumnIndex>
          <SortOrder>0</SortOrder>
          <StartTime>2011-09-21T16:23:33.7988317+02:00</StartTime>
          <EndTime>2011-09-22T16:23:33.7988317+02:00</EndTime>
          <DynamicTimeTicks>864000000000</DynamicTimeTicks>
          <IsDynamic>true</IsDynamic>
          <Is3DMode>false</Is3DMode>
          <ShowAlerts>false</ShowAlerts>
          <ShowMaintenanceMode>false</ShowMaintenanceMode>
          <BaselineMode>false</BaselineMode>
          <ShowPointLabels>false</ShowPointLabels>
          <EnableSmartLabels>true</EnableSmartLabels>
          <RightAngleAxes>false</RightAngleAxes>
          <ClusterSeries>false</ClusterSeries>
          <Title />
          <TitleFont>Microsoft Sans Serif,12,Regular</TitleFont>
          <ChartFont>Microsoft Sans Serif,8.25,Regular</ChartFont>
          <ShowBands>false</ShowBands>
          <BandColor>-1579033</BandColor>
          <ChartType>Line</ChartType>
          <Depth>100</Depth>
          <GapDepth>100</GapDepth>
          <Perspective>10</Perspective>
          <GraphXRotation>0</GraphXRotation>
          <GraphYRotation>0</GraphYRotation>
          <XLabelAngle>0</XLabelAngle>
          <LabelColor>-16777216</LabelColor>
          <LabelFont>Microsoft Sans Serif,8.25,Regular</LabelFont>
          <XAxisVisible>True</XAxisVisible>
          <XShowMajorGridlines>false</XShowMajorGridlines>
          <XShowMinorGridlines>false</XShowMinorGridlines>
          <ShowInterlaceStrips>false</ShowInterlaceStrips>
          <XInterlaceColor>16777215</XInterlaceColor>
          <XShowSideMargin>true</XShowSideMargin>
          <XAxisFont>Microsoft Sans Serif,8.25,Regular</XAxisFont>
          <AutoAxis>true</AutoAxis>
          <AxisMax>100</AxisMax>
          <AxisMin>0</AxisMin>
          <YAxisVisible>True</YAxisVisible>
          <YShowMajorGridlines>true</YShowMajorGridlines>
          <YShowMinorGridlines>false</YShowMinorGridlines>
          <YShowInterlaceStrips>false</YShowInterlaceStrips>
          <YShowSideMargin>true</YShowSideMargin>
          <YAxisFont>Microsoft Sans Serif,8.25,Regular</YAxisFont>
          <BackgroundColor1>-1</BackgroundColor1>
          <BackgroundColor2>-1</BackgroundColor2>
          <GradientType>None</GradientType>
          <Series />
        </Presentation>
        <Target />
      </View>
      <View ID="View_d6d6c410aa3b4a86aaca492316eb4de8" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" TypeID="SC!Microsoft.SystemCenter.PerformanceViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <RuleList>
            <Rule>$MPElement[Name='CustomHyperVMP.ContextSwitchesSecCounter']$</Rule>
            <Rule>$MPElement[Name='CustomHyperVMP.Processor.QueueLength']$</Rule>
          </RuleList>
        </Criteria>
        <Presentation>
          <SortedColumnIndex>0</SortedColumnIndex>
          <SortOrder>0</SortOrder>
          <StartTime>2011-08-22T17:49:46.5859436+02:00</StartTime>
          <EndTime>2011-08-23T17:49:46.5859436+02:00</EndTime>
          <DynamicTimeTicks>864000000000</DynamicTimeTicks>
          <IsDynamic>true</IsDynamic>
          <Is3DMode>false</Is3DMode>
          <ShowAlerts>false</ShowAlerts>
          <ShowMaintenanceMode>false</ShowMaintenanceMode>
          <BaselineMode>false</BaselineMode>
          <ShowPointLabels>false</ShowPointLabels>
          <EnableSmartLabels>true</EnableSmartLabels>
          <RightAngleAxes>false</RightAngleAxes>
          <ClusterSeries>false</ClusterSeries>
          <Title />
          <TitleFont>Microsoft Sans Serif,12,Regular</TitleFont>
          <ChartFont>Microsoft Sans Serif,8.25,Regular</ChartFont>
          <ShowBands>false</ShowBands>
          <BandColor>-1579033</BandColor>
          <ChartType>Line</ChartType>
          <Depth>100</Depth>
          <GapDepth>100</GapDepth>
          <Perspective>10</Perspective>
          <GraphXRotation>0</GraphXRotation>
          <GraphYRotation>0</GraphYRotation>
          <XLabelAngle>0</XLabelAngle>
          <LabelColor>-16777216</LabelColor>
          <LabelFont>Microsoft Sans Serif,8.25,Regular</LabelFont>
          <XAxisVisible>True</XAxisVisible>
          <XShowMajorGridlines>false</XShowMajorGridlines>
          <XShowMinorGridlines>false</XShowMinorGridlines>
          <ShowInterlaceStrips>false</ShowInterlaceStrips>
          <XInterlaceColor>16777215</XInterlaceColor>
          <XShowSideMargin>true</XShowSideMargin>
          <XAxisFont>Microsoft Sans Serif,8.25,Regular</XAxisFont>
          <AutoAxis>true</AutoAxis>
          <AxisMax>100</AxisMax>
          <AxisMin>0</AxisMin>
          <YAxisVisible>True</YAxisVisible>
          <YShowMajorGridlines>true</YShowMajorGridlines>
          <YShowMinorGridlines>false</YShowMinorGridlines>
          <YShowInterlaceStrips>false</YShowInterlaceStrips>
          <YShowSideMargin>true</YShowSideMargin>
          <YAxisFont>Microsoft Sans Serif,8.25,Regular</YAxisFont>
          <BackgroundColor1>-1</BackgroundColor1>
          <BackgroundColor2>-1</BackgroundColor2>
          <GradientType>None</GradientType>
          <Series />
        </Presentation>
        <Target />
      </View>
      <View ID="View_d84177c74ccd4e24af02c96c6abdeee4" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" TypeID="SC!Microsoft.SystemCenter.PerformanceViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <RuleList>
            <Rule>$MPElement[Name='CustomHyperVMP.HyperVVirtualProcessorRule']$</Rule>
          </RuleList>
        </Criteria>
        <Presentation>
          <SortedColumnIndex>0</SortedColumnIndex>
          <SortOrder>0</SortOrder>
          <StartTime>2011-09-21T16:24:35.8069281+02:00</StartTime>
          <EndTime>2011-09-22T16:24:35.8069281+02:00</EndTime>
          <DynamicTimeTicks>864000000000</DynamicTimeTicks>
          <IsDynamic>true</IsDynamic>
          <Is3DMode>false</Is3DMode>
          <ShowAlerts>false</ShowAlerts>
          <ShowMaintenanceMode>false</ShowMaintenanceMode>
          <BaselineMode>false</BaselineMode>
          <ShowPointLabels>false</ShowPointLabels>
          <EnableSmartLabels>true</EnableSmartLabels>
          <RightAngleAxes>false</RightAngleAxes>
          <ClusterSeries>false</ClusterSeries>
          <Title />
          <TitleFont>Microsoft Sans Serif,12,Regular</TitleFont>
          <ChartFont>Microsoft Sans Serif,8.25,Regular</ChartFont>
          <ShowBands>false</ShowBands>
          <BandColor>-1579033</BandColor>
          <ChartType>Line</ChartType>
          <Depth>100</Depth>
          <GapDepth>100</GapDepth>
          <Perspective>10</Perspective>
          <GraphXRotation>0</GraphXRotation>
          <GraphYRotation>0</GraphYRotation>
          <XLabelAngle>0</XLabelAngle>
          <LabelColor>-16777216</LabelColor>
          <LabelFont>Microsoft Sans Serif,8.25,Regular</LabelFont>
          <XAxisVisible>True</XAxisVisible>
          <XShowMajorGridlines>false</XShowMajorGridlines>
          <XShowMinorGridlines>false</XShowMinorGridlines>
          <ShowInterlaceStrips>false</ShowInterlaceStrips>
          <XInterlaceColor>16777215</XInterlaceColor>
          <XShowSideMargin>true</XShowSideMargin>
          <XAxisFont>Microsoft Sans Serif,8.25,Regular</XAxisFont>
          <AutoAxis>true</AutoAxis>
          <AxisMax>100</AxisMax>
          <AxisMin>0</AxisMin>
          <YAxisVisible>True</YAxisVisible>
          <YShowMajorGridlines>true</YShowMajorGridlines>
          <YShowMinorGridlines>false</YShowMinorGridlines>
          <YShowInterlaceStrips>false</YShowInterlaceStrips>
          <YShowSideMargin>true</YShowSideMargin>
          <YAxisFont>Microsoft Sans Serif,8.25,Regular</YAxisFont>
          <BackgroundColor1>-1</BackgroundColor1>
          <BackgroundColor2>-1</BackgroundColor2>
          <GradientType>None</GradientType>
          <Series />
        </Presentation>
        <Target />
      </View>
      <View ID="View_d970d104fdcd4d72b25cb8924b30f222" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria />
        <Presentation>
          <ColumnInfo Index="0" SortIndex="0" Width="22" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Severity</Name>
            <Id>Severity</Id>
          </ColumnInfo>
          <ColumnInfo Index="1" SortIndex="-1" Width="54" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
            <Name>Icon</Name>
            <Id>Icon</Id>
          </ColumnInfo>
          <ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Path</Name>
            <Id>MonitoringObjectPath</Id>
          </ColumnInfo>
          <ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Source</Name>
            <Id>MonitoringObjectDisplayName</Id>
          </ColumnInfo>
          <ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Maintenance Mode</Name>
            <Id>MonitoringObjectInMaintenanceMode</Id>
          </ColumnInfo>
          <ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Name</Name>
            <Id>Name</Id>
          </ColumnInfo>
          <ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Resolution State</Name>
            <Id>ResolutionState</Id>
          </ColumnInfo>
          <ColumnInfo Index="7" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Created</Name>
            <Id>TimeRaised</Id>
          </ColumnInfo>
          <ColumnInfo Index="8" SortIndex="1" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Age</Name>
            <Id>Age</Id>
          </ColumnInfo>
          <ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Type</Name>
            <Id>Category</Id>
          </ColumnInfo>
          <ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Owner</Name>
            <Id>Owner</Id>
          </ColumnInfo>
          <ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Priority</Name>
            <Id>Priority</Id>
          </ColumnInfo>
          <ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Latency</Name>
            <Id>Latency</Id>
          </ColumnInfo>
          <ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Description</Name>
            <Id>Description</Id>
          </ColumnInfo>
          <ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Connector</Name>
            <Id>ConnectorId</Id>
          </ColumnInfo>
          <ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Forwarding Status</Name>
            <Id>ConnectorStatus</Id>
          </ColumnInfo>
          <ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Class</Name>
            <Id>Class</Id>
          </ColumnInfo>
          <ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Time in State</Name>
            <Id>TimeInState</Id>
          </ColumnInfo>
          <ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 1</Name>
            <Id>CustomField1</Id>
          </ColumnInfo>
          <ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 2</Name>
            <Id>CustomField2</Id>
          </ColumnInfo>
          <ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 3</Name>
            <Id>CustomField3</Id>
          </ColumnInfo>
          <ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 4</Name>
            <Id>CustomField4</Id>
          </ColumnInfo>
          <ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 5</Name>
            <Id>CustomField5</Id>
          </ColumnInfo>
          <ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 6</Name>
            <Id>CustomField6</Id>
          </ColumnInfo>
          <ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 7</Name>
            <Id>CustomField7</Id>
          </ColumnInfo>
          <ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 8</Name>
            <Id>CustomField8</Id>
          </ColumnInfo>
          <ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 9</Name>
            <Id>CustomField9</Id>
          </ColumnInfo>
          <ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Custom Field 10</Name>
            <Id>CustomField10</Id>
          </ColumnInfo>
          <ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Resolved By</Name>
            <Id>ResolvedBy</Id>
          </ColumnInfo>
          <ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Time Resolved</Name>
            <Id>TimeResolved</Id>
          </ColumnInfo>
          <ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Last State Change</Name>
            <Id>TimeResolutionStateLastModified</Id>
          </ColumnInfo>
          <ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Last Modified</Name>
            <Id>LastModified</Id>
          </ColumnInfo>
          <ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Last Modified By</Name>
            <Id>LastModifiedBy</Id>
          </ColumnInfo>
          <ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Management Group</Name>
            <Id>ManagementGroup</Id>
          </ColumnInfo>
          <ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Site</Name>
            <Id>SiteName</Id>
          </ColumnInfo>
          <ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Repeat Count</Name>
            <Id>RepeatCount</Id>
          </ColumnInfo>
          <ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Ticket ID</Name>
            <Id>TicketId</Id>
          </ColumnInfo>
        </Presentation>
        <Target />
      </View>
      <View ID="View_ff5d19dbbf3b492a961f482a344633d4" Accessibility="Public" Enabled="true" Target="MicrosoftWindowsHyperVLibrary!Microsoft.Windows.HyperV.ServerRole" TypeID="SC!Microsoft.SystemCenter.PerformanceViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <RuleList>
            <Rule>$MPElement[Name='CustomHyperVMP.DynamicMemoryVMGuestVisiblePhysicalMemory']$</Rule>
            <Rule>$MPElement[Name='CustomHyperVMP.DynamicMemoryVMPhysicalMemory']$</Rule>
          </RuleList>
        </Criteria>
        <Presentation>
          <SortedColumnIndex>0</SortedColumnIndex>
          <SortOrder>0</SortOrder>
          <StartTime>2011-08-22T17:42:13.9803309+02:00</StartTime>
          <EndTime>2011-08-23T17:42:13.9803309+02:00</EndTime>
          <DynamicTimeTicks>864000000000</DynamicTimeTicks>
          <IsDynamic>true</IsDynamic>
          <Is3DMode>false</Is3DMode>
          <ShowAlerts>false</ShowAlerts>
          <ShowMaintenanceMode>false</ShowMaintenanceMode>
          <BaselineMode>false</BaselineMode>
          <ShowPointLabels>false</ShowPointLabels>
          <EnableSmartLabels>true</EnableSmartLabels>
          <RightAngleAxes>false</RightAngleAxes>
          <ClusterSeries>false</ClusterSeries>
          <Title />
          <TitleFont>Microsoft Sans Serif,12,Regular</TitleFont>
          <ChartFont>Microsoft Sans Serif,8.25,Regular</ChartFont>
          <ShowBands>false</ShowBands>
          <BandColor>-1579033</BandColor>
          <ChartType>Line</ChartType>
          <Depth>100</Depth>
          <GapDepth>100</GapDepth>
          <Perspective>10</Perspective>
          <GraphXRotation>0</GraphXRotation>
          <GraphYRotation>0</GraphYRotation>
          <XLabelAngle>0</XLabelAngle>
          <LabelColor>-16777216</LabelColor>
          <LabelFont>Microsoft Sans Serif,8.25,Regular</LabelFont>
          <XAxisVisible>True</XAxisVisible>
          <XShowMajorGridlines>false</XShowMajorGridlines>
          <XShowMinorGridlines>false</XShowMinorGridlines>
          <ShowInterlaceStrips>false</ShowInterlaceStrips>
          <XInterlaceColor>16777215</XInterlaceColor>
          <XShowSideMargin>true</XShowSideMargin>
          <XAxisFont>Microsoft Sans Serif,8.25,Regular</XAxisFont>
          <AutoAxis>true</AutoAxis>
          <AxisMax>100</AxisMax>
          <AxisMin>0</AxisMin>
          <YAxisVisible>True</YAxisVisible>
          <YShowMajorGridlines>true</YShowMajorGridlines>
          <YShowMinorGridlines>false</YShowMinorGridlines>
          <YShowInterlaceStrips>false</YShowInterlaceStrips>
          <YShowSideMargin>true</YShowSideMargin>
          <YAxisFont>Microsoft Sans Serif,8.25,Regular</YAxisFont>
          <BackgroundColor1>-1</BackgroundColor1>
          <BackgroundColor2>-1</BackgroundColor2>
          <GradientType>None</GradientType>
          <Series />
        </Presentation>
        <Target />
      </View>
    </Views>
    <Folders>
      <Folder ID="Folder_502c1b6b6a764467b6925fa3e532b2f4" Accessibility="Public" ParentFolder="Folder_904583458ac345b8aa519f2a27a5ab86" />
      <Folder ID="Folder_904583458ac345b8aa519f2a27a5ab86" Accessibility="Public" ParentFolder="SC!Microsoft.SystemCenter.Monitoring.ViewFolder.Root" />
    </Folders>
    <FolderItems>
      <FolderItem ElementID="View_0e80455c3ada4bccae324d519d365dcb" Folder="Folder_502c1b6b6a764467b6925fa3e532b2f4" />
      <FolderItem ElementID="View_160b3658178d4f49b5d2cddb5b350441" Folder="Folder_904583458ac345b8aa519f2a27a5ab86" />
      <FolderItem ElementID="View_174f04000c434f40a500ad515523a4c4" Folder="Folder_502c1b6b6a764467b6925fa3e532b2f4" />
      <FolderItem ElementID="View_2c59abbc85624b919cead5fe7bd30974" Folder="Folder_502c1b6b6a764467b6925fa3e532b2f4" />
      <FolderItem ElementID="View_3cc4154d4d774242926fab1ff7af0fd4" Folder="Folder_904583458ac345b8aa519f2a27a5ab86" />
      <FolderItem ElementID="View_3ec1b7f190364dd39d80a01dee7a2fb5" Folder="Folder_502c1b6b6a764467b6925fa3e532b2f4" />
      <FolderItem ElementID="View_6632724a04f0433c85a2c8a2c8d913c3" Folder="Folder_502c1b6b6a764467b6925fa3e532b2f4" />
      <FolderItem ElementID="View_82719125bbbb4ffda0852cd71abe7cee" Folder="Folder_502c1b6b6a764467b6925fa3e532b2f4" />
      <FolderItem ElementID="View_b3ae28c992ad48d7836e8921dc644ac7" Folder="Folder_502c1b6b6a764467b6925fa3e532b2f4" />
      <FolderItem ElementID="View_bece1730d9074a7fbeca0a97a42cba57" Folder="Folder_502c1b6b6a764467b6925fa3e532b2f4" />
      <FolderItem ElementID="View_d6d6c410aa3b4a86aaca492316eb4de8" Folder="Folder_502c1b6b6a764467b6925fa3e532b2f4" />
      <FolderItem ElementID="View_d84177c74ccd4e24af02c96c6abdeee4" Folder="Folder_502c1b6b6a764467b6925fa3e532b2f4" />
      <FolderItem ElementID="View_d970d104fdcd4d72b25cb8924b30f222" Folder="Folder_904583458ac345b8aa519f2a27a5ab86" />
      <FolderItem ElementID="View_ff5d19dbbf3b492a961f482a344633d4" Folder="Folder_502c1b6b6a764467b6925fa3e532b2f4" />
    </FolderItems>
    <StringResources>
      <StringResource ID="CustomHyperVMP.DMBalancerAveragePressure.Monitor.Critical_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.DMBalancerAveragePressure.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.DMBalancerAveragePressure_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor.Critical_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.DMVirtualMachineAveragePressure_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.HyperVirtualProcessor.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.HyperVirtualProcessor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.HyperVLogicalProcessor.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.HyperVLogicalProcessor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Critical_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Warning_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.HyperVVirtualMachineHealthSummary.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.HyperVVirtualMachineSummary.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.HyperVVirtualStorageErrorCount.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.LogicalDisk.Avg.DiskSecRead.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.LogicalDisk.Avg.DiskSecRead_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.LogicalDiskSecWrite.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.LogicalDiskSecWrite_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.MemoryAvailableMB_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.NetworkInterface.OutputQueueLength.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.NetworkInterface.OutputQueueLength_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.NUMARemotePages.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.NUMARemotePages_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.PhysicalDisk.SecPerRead.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.PhysicalDisk.SecPerRead_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.PhysicalDisk.SecPerWrite.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.PhysicalDisk.SecPerWrite_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.SLATAddressSpace.Monitor_AlertMessageResourceID" />
      <StringResource ID="CustomHyperVMP.VirtualTLBFlush.Monitor_AlertMessageResourceID" />
    </StringResources>
  </Presentation>
  <LanguagePacks>
    <LanguagePack ID="ENU" IsDefault="true">
      <DisplayStrings>
        <DisplayString ElementID="CustomHyperVMP">
          <Name>Hyper-V Management Pack Extensions</Name>
          <Description />
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.ContextSwitchesSecCounter">
          <Name>System Context Switches per Seconds </Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor">
          <Name>Dynamic Memory Balancer Avergage Pressure</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor.Critical">
          <Name>Dynamic Memory Balancer Avergage Pressure (Critical)</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor.Critical_AlertMessageResourceID">
          <Name>Dynamic Memory Balancer Avergage Pressure (Critical)</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor_AlertMessageResourceID">
          <Name>Dynamic Memory Balancer Avergage Pressure</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure_AlertMessageResourceID">
          <Name>Dynamic Memory Balancer Avergage Pressure</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor">
          <Name>Dynamic Memory Virtual Machine Average Pressure</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor.Critical">
          <Name>Dynamic Memory Virtual Machine Average Pressure (Critical)</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor.Critical_AlertMessageResourceID">
          <Name>Dynamic Memory Virtual Machine Average Pressure (Critical)</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor_AlertMessageResourceID">
          <Name>Dynamic Memory Virtual Machine Average Pressure</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure_AlertMessageResourceID">
          <Name>Dynamic Memory Virtual Machine Average Pressure</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DynamicMemoryVMGuestVisiblePhysicalMemory">
          <Name>Dynamic Memory VM (Guest Visible Physical Memory)</Name>
          <Description>Maximum RAM assigned to a VM until next reboot
Never decreases
Can be the maximum memory value or the maximum assigned memory during the execution
</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DynamicMemoryVMPhysicalMemory">
          <Name>Dynamic Memory VM (Physical Memory)</Name>
          <Description>Physical RAM assigned to the VM
Equal to assigned Memory on Hyper-V Manager
</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVirtualProcessor.Monitor">
          <Name><![CDATA[Hyper-V Virtual Processor (%Guest Run Time)]]></Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVirtualProcessor.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVirtualProcessor.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVirtualProcessor.Monitor_AlertMessageResourceID">
          <Name><![CDATA[Hyper-V Virtual Processor (%Guest Run Time)]]></Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVirtualProcessor_AlertMessageResourceID">
          <Name><![CDATA[Hyper-V Virtual Processor (%Guest Run Time)]]></Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessor.Monitor">
          <Name><![CDATA[Hyper-V Logical Processor (%Total Run Time)]]></Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessor.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessor.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessor.Monitor_AlertMessageResourceID">
          <Name><![CDATA[Hyper-V Logical Processor (%Total Run Time)]]></Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessor_AlertMessageResourceID">
          <Name><![CDATA[HyperV Logical Processor (%Total Run Time)]]></Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorContextSwitches">
          <Name>Hyper-V Logical Processor (Context Switches/Sec)</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorContextSwitches" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorContextSwitches" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorContextSwitchesRule">
          <Name>Hyper-V Logical Processor (Context Switches/Sec) </Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Critical">
          <Name><![CDATA[Hyper-V Logical Processor (%Hypervisor RunTime) Critical]]></Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Critical" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Critical" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Critical_AlertMessageResourceID">
          <Name><![CDATA[Hyper-V Logical Processor (%Hypervisor RunTime) Critical]]></Name>
          <Description>Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Warning">
          <Name><![CDATA[Hyper-V Logical Processor (%Hypervisor RunTime) Warning]]></Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Warning" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Warning" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Warning_AlertMessageResourceID">
          <Name><![CDATA[Hyper-V Logical Processor (%Hypervisor RunTime)]]></Name>
          <Description>Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime_AlertMessageResourceID">
          <Name><![CDATA[Hyper-V Logical Processor (%Hypervisor RunTime)]]></Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorRule">
          <Name><![CDATA[Hyper-V Logical Processor\% Total Run Time]]></Name>
          <Description>Per Logical Processor CPU utilization</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineHealthSummary.Monitor">
          <Name>Hyper-V Virtual Machine Health Summary (Failed VMs)</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineHealthSummary.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineHealthSummary.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineHealthSummary.Monitor_AlertMessageResourceID">
          <Name>Hyper-V Virtual Machine Health Summary (Failed VMs)</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineSummary.Monitor">
          <Name>Hyper-V Virtual Machine Summary (Stopped VMs)</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineSummary.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineSummary.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineSummary.Monitor_AlertMessageResourceID">
          <Name>Hyper-V Virtual Machine Summary (Stopped VMs)</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualNetworkAdapter">
          <Name>Hyper-V Virtual Network Adapter (Bytes /Sec)</Name>
          <Description>Total Bytes sent by each Virtual Machine</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualProcessorRule">
          <Name><![CDATA[Hyper-V Virtual Processor\% Guest Run Time]]></Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualStorageDevice">
          <Name>Hyper-V Virtual Storage Device (Read Bytes /Sec)</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualStorageDeviceWrites">
          <Name>Hyper-V Virtual Storage Device (Write Bytes /Sec)</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualStorageErrorCount.Monitor">
          <Name>Hyper-V Virtual Storage Error Count (on each VHD file)</Name>
          <Description>El monitor chequea cada minuto y si durante 5 samples seguidos se supera el umbral, genera la alerta.</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualStorageErrorCount.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualStorageErrorCount.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualStorageErrorCount.Monitor_AlertMessageResourceID">
          <Name>Hyper-V Virtual Storage Error Count (on each VHD file)</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualSwitch">
          <Name>Hyper-V Virtual Switch (Bytes /sec)</Name>
          <Description>Total Bytes sent and received on each Virtual Switch.</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.Logical.Processor.Hypervisor.RunTime.Rule">
          <Name><![CDATA[Hyper-V Logical Processor (%Hypervisor RunTime) ]]></Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDisk.Avg.DiskSecRead.Monitor">
          <Name>Logical Disk Seconds per Read</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDisk.Avg.DiskSecRead.Monitor_AlertMessageResourceID">
          <Name>Logical Disk Seconds per Read</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDisk.Avg.DiskSecRead_AlertMessageResourceID">
          <Name>Logical Disk Seconds per Read</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDiskQueueLenght">
          <Name>Logical Disk (Current Disk Queue Lenght)</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDiskSecPerRead">
          <Name>Logical Disk Seconds Per Read</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDiskSecPerWrite">
          <Name>Logical Disk Seconds per Write</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDiskSecWrite.Monitor">
          <Name>Logical Disk Seconds per Write</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDiskSecWrite.Monitor_AlertMessageResourceID">
          <Name>Logical Disk Seconds per Write</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDiskSecWrite_AlertMessageResourceID">
          <Name>Logical Disk Seconds per Write</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDiskTransferSec">
          <Name>Logical Disk Transfer Seconds</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.MemoryAvailableMB">
          <Name>Memory Available MBytes (Working Set)</Name>
          <Description>Available MBytes is the amount of physical memory, in Megabytes, immediately available for allocation to a process or for system use. It is equal to the sum of memory assigned to the standby (cached), free and zero page lists. For a full explanation of the memory manager, refer to MSDN and/or the System Performance and Troubleshooting Guide chapter in the Windows Server 2003 Resource Kit.</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.MemoryAvailableMB" SubElementID="OverThreshold1UnderThreshold2">
          <Name>OverThreshold1UnderThreshold2</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.MemoryAvailableMB" SubElementID="OverThreshold2">
          <Name>OverThreshold2</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.MemoryAvailableMB" SubElementID="UnderThreshold1">
          <Name>UnderThreshold1</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.MemoryAvailableMB_AlertMessageResourceID">
          <Name>Memory Available MBytes</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NetworkInterface.BytesSent">
          <Name>Network Interface Bytes Sent</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NetworkInterface.OutputQueueLength.Monitor">
          <Name>Network Interface Output Queue Length</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NetworkInterface.OutputQueueLength.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NetworkInterface.OutputQueueLength.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NetworkInterface.OutputQueueLength.Monitor_AlertMessageResourceID">
          <Name>Network Interface Output Queue Length</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NetworkInterface.OutputQueueLength_AlertMessageResourceID">
          <Name>Network Interface Output Queue Length</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NetworkInterfaceReceived">
          <Name>Network Interface Bytes Received</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NUMANodePageCount">
          <Name>Hyper-V VM Vid NUMA Node (PageCount)</Name>
          <Description>NUMA node assigned pages. Each page have 4k. Total memory value from this counter should be multiplied by 4096.
</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NUMANodeProcessorCount">
          <Name>Hyper-V VM Vid NUMA Node (Processor Count)</Name>
          <Description>NUMA nodes number
</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NUMARemotePages.Monitor">
          <Name>NUMA Remote Pages</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NUMARemotePages.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NUMARemotePages.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NUMARemotePages.Monitor_AlertMessageResourceID">
          <Name>NUMA Remote Pages</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NUMARemotePages_AlertMessageResourceID">
          <Name>NUMA Remote Pages</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PercentProcessorTime.Collection">
          <Name><![CDATA[Process % Time Collection]]></Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.SecPerRead.Monitor">
          <Name>Physical Disk Seconds Per Read</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.SecPerRead.Monitor_AlertMessageResourceID">
          <Name>Physical Disk Seconds Per Read</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.SecPerRead_AlertMessageResourceID">
          <Name>Physical Disk Seconds Per Read</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.SecPerWrite.Monitor">
          <Name>Physical Disk Seconds Per Write</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.SecPerWrite.Monitor_AlertMessageResourceID">
          <Name>Physical Disk Seconds Per Write</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.SecPerWrite_AlertMessageResourceID">
          <Name>Physical Disk Seconds Per Write</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.TransfersSeconds">
          <Name>Physical Disk Transfers Seconds</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDiskQueueLenght">
          <Name>Physical Disk (Current Disk Queue Lenght)</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDiskSecondsPerRead">
          <Name>Physical Disk Seconds Per Read </Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDiskSecondsPerWrite">
          <Name>Physical Disk Seconds Per Write</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.Processor.QueueLength">
          <Name>System Processor Queue Length</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.SLATAddressSpace.Monitor">
          <Name>SLAT Address Space (SLAT CPU)</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.SLATAddressSpace.Monitor_AlertMessageResourceID">
          <Name>SLAT Address Space (SLAT CPU)</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.VirtualTLBFlush.Monitor">
          <Name>Virtual TLB Flushes (Non-Optimized Video card)</Name>
          <Description>This counter must remain below 100. Ideally should be near 0.</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.VirtualTLBFlush.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.VirtualTLBFlush.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.VirtualTLBFlush.Monitor_AlertMessageResourceID">
          <Name>Virtual TLB Flushes (Non-Optimized Video card)</Name>
          <Description>
            Instance {0}
            Object {1}
            Counter {2}
            Has a value {3}
            At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.WorkingSet">
          <Name>Process Working Set</Name>
        </DisplayString>
        <DisplayString ElementID="Folder_502c1b6b6a764467b6925fa3e532b2f4">
          <Name>Performance</Name>
        </DisplayString>
        <DisplayString ElementID="Folder_904583458ac345b8aa519f2a27a5ab86">
          <Name>Hyper-V MP Extensions</Name>
        </DisplayString>
        <DisplayString ElementID="View_0e80455c3ada4bccae324d519d365dcb">
          <Name>Physical Disk</Name>
          <Description />
        </DisplayString>
        <DisplayString ElementID="View_160b3658178d4f49b5d2cddb5b350441">
          <Name>Active Alerts</Name>
        </DisplayString>
        <DisplayString ElementID="View_174f04000c434f40a500ad515523a4c4">
          <Name>Hyper-V Virtual Hard Disk</Name>
          <Description />
        </DisplayString>
        <DisplayString ElementID="View_2c59abbc85624b919cead5fe7bd30974">
          <Name>Hyper-V VM Vid NUMA Node</Name>
          <Description />
        </DisplayString>
        <DisplayString ElementID="View_3cc4154d4d774242926fab1ff7af0fd4">
          <Name>Servers State</Name>
        </DisplayString>
        <DisplayString ElementID="View_3ec1b7f190364dd39d80a01dee7a2fb5">
          <Name>Hyper-V Virtual Network</Name>
          <Description />
        </DisplayString>
        <DisplayString ElementID="View_6632724a04f0433c85a2c8a2c8d913c3">
          <Name>Process</Name>
          <Description />
        </DisplayString>
        <DisplayString ElementID="View_82719125bbbb4ffda0852cd71abe7cee">
          <Name>Network Interface</Name>
          <Description />
        </DisplayString>
        <DisplayString ElementID="View_b3ae28c992ad48d7836e8921dc644ac7">
          <Name>Logical Disk</Name>
          <Description />
        </DisplayString>
        <DisplayString ElementID="View_bece1730d9074a7fbeca0a97a42cba57">
          <Name>Hyper-V Logical Processor</Name>
          <Description />
        </DisplayString>
        <DisplayString ElementID="View_d6d6c410aa3b4a86aaca492316eb4de8">
          <Name>System</Name>
          <Description />
        </DisplayString>
        <DisplayString ElementID="View_d84177c74ccd4e24af02c96c6abdeee4">
          <Name>Hyper-V Virtual Processor</Name>
          <Description />
        </DisplayString>
        <DisplayString ElementID="View_d970d104fdcd4d72b25cb8924b30f222">
          <Name>All Alerts</Name>
        </DisplayString>
        <DisplayString ElementID="View_ff5d19dbbf3b492a961f482a344633d4">
          <Name>Dynamic Memory</Name>
          <Description />
        </DisplayString>
      </DisplayStrings>
      <KnowledgeArticles>
        <KnowledgeArticle ElementID="CustomHyperVMP" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Authors: Cristian Edwards and Diego Martinez Rellan (Microsoft Premier Field Engineers)</maml:para>
              <maml:para>This Hyper-V Management Pack Extension is intended to add performance monitoring to the existing Hyper-v Management Pack.</maml:para>
              <maml:para>This MP has monitors, rules and views that are detailed below. To avoid huge database consumption all rules are disabled by default. You can use these rules for creating your environment baselines.</maml:para>
              <maml:para>Monitors are enabled and ready to run on your SCOM environment.</maml:para>
              <maml:para>
                <maml:ui>The configured thresholds on the monitors should cover most common scenarios but you may need to tune some of them to cover your own needs.</maml:ui>
              </maml:para>
              <maml:para>
                <maml:ui>This MP is provided “as is” without any official support from Microsoft.</maml:ui>
              </maml:para>
              <maml:para />
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>This gives you a very simple view of the overall memory allocation of your system. As long as this counter is under 100, there is enough memory in your system to service your virtual machines.  Ideally this value should be at 80 or lower.  The closer this gets to 100, the closer you are to running out of memory.  Once this number goes over 100 then you can pretty much guarantee that you have virtual machines that are paging in the guest operating system.</maml:para>
            </maml:section>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>External</maml:title>
              <maml:para>
                <maml:navigationLink>
                  <maml:linkText>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/09/01/looking-at-dynamic-memory-performance-counters.aspx</maml:linkText>
                  <maml:uri href="http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/09/01/looking-at-dynamic-memory-performance-counters.aspx" />
                </maml:navigationLink>
              </maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor.Critical" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>This gives you a very simple view of the overall memory allocation of your system. As long as this counter is under 100, there is enough memory in your system to service your virtual machines.  Ideally this value should be at 80 or lower.  The closer this gets to 100, the closer you are to running out of memory.  Once this number goes over 100 then you can pretty much guarantee that you have virtual machines that are paging in the guest operating system.</maml:para>
            </maml:section>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>External</maml:title>
              <maml:para>
                <maml:navigationLink>
                  <maml:linkText>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/09/01/looking-at-dynamic-memory-performance-counters.aspx</maml:linkText>
                  <maml:uri href="http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/09/01/looking-at-dynamic-memory-performance-counters.aspx" />
                </maml:navigationLink>
              </maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para><![CDATA[A virtual machine with a pressure of 100 has exactly the amount of memory that it needs (this is equivalent to a memory availability of 0%).  If the virtual machine pressure goes over 100 it has less memory than it needs (equivalent to a negative memory availability) and if the virtual machine pressure is under 100 then the virtual machine has more memory than it needs.]]></maml:para>
            </maml:section>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>External</maml:title>
              <maml:para>
                <maml:navigationLink>
                  <maml:linkText>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/09/01/looking-at-dynamic-memory-performance-counters.aspx</maml:linkText>
                  <maml:uri href="http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/09/01/looking-at-dynamic-memory-performance-counters.aspx" />
                </maml:navigationLink>
              </maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor.Critical" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para><![CDATA[A virtual machine with a pressure of 100 has exactly the amount of memory that it needs (this is equivalent to a memory availability of 0%).  If the virtual machine pressure goes over 100 it has less memory than it needs (equivalent to a negative memory availability) and if the virtual machine pressure is under 100 then the virtual machine has more memory than it needs.]]></maml:para>
            </maml:section>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>External</maml:title>
              <maml:para>
                <maml:navigationLink>
                  <maml:linkText>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/09/01/looking-at-dynamic-memory-performance-counters.aspx</maml:linkText>
                  <maml:uri href="http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/09/01/looking-at-dynamic-memory-performance-counters.aspx" />
                </maml:navigationLink>
              </maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.HyperVirtualProcessor.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para><![CDATA[This monitor checks the processor utilization of guest, virtual computer processors. The "\Hyper-V Hypervisor Virtual Processor(*)\% Guest Run Time" performance counter is more accurate than using the "% Processor Time" counter within the virtual computer due to clock calculation drift.]]></maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.HyperVLogicalProcessor.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para><![CDATA[This analysis checks the processor utilization of physical processors of the host computer. The "\Hyper-V Hypervisor Logical Processor(*)\% Total Run Time" performance counter is more accurate than using the "% Processor Time" counter on the host, root partition computer because the "% Processor Time" counter only measures the processor time of the host, root partition computer only. The "\Hyper-V Hypervisor Logical Processor(*)\% Total Run Time" performance counter is the best counter to use to analyze overall processor utilization of the Hyper-V server.]]></maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.HyperVLogicalProcessorContextSwitches" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>It is the number of context switches made for switching out/in the VM Virtual Processors. This does not keep into account the number of context switches made by the threads running in the host Operating System.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.HyperVLogicalProcessorContextSwitchesRule" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>It is the number of context switches made for switching out/in the VM Virtual Processors. This does not keep into account the number of context switches made by the threads running in the host Operating System.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Critical" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>For guest VM’s this is the percentage of time the guest VP is running in hypervisor code on an LP or for the _Total the total across all guest VP’s.   For the root this is the percentage of time the root VP is running in hypervisor code on an LP.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Warning" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>For guest VM’s this is the percentage of time the guest VP is running in hypervisor code on an LP or for the _Total the total across all guest VP’s.   For the root this is the percentage of time the root VP is running in hypervisor code on an LP</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.HyperVLogicalProcessorRule" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para><![CDATA[This analysis checks the processor utilization of physical processors of the host computer. The "\Hyper-V Hypervisor Logical Processor(*)\% Total Run Time" performance counter is more accurate than using the "% Processor Time" counter on the host, root partition computer because the "% Processor Time" counter only measures the processor time of the host, root partition computer only. The "\Hyper-V Hypervisor Logical Processor(*)\% Total Run Time" performance counter is the best counter to use to analyze overall processor utilization of the Hyper-V server.]]></maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.HyperVVirtualMachineHealthSummary.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>This monitor detects if your VMs are in failed state</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.HyperVVirtualMachineSummary.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>This monitor detects if your VMs are stopped or not. In some scenarios you will want to be sure that your VMs are always running.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.HyperVVirtualProcessorRule" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para><![CDATA[This monitor checks the processor utilization of guest, virtual computer processors. The "\Hyper-V Hypervisor Virtual Processor(*)\% Guest Run Time" performance counter is more accurate than using the "% Processor Time" counter within the virtual computer due to clock calculation drift.]]></maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.HyperVVirtualStorageErrorCount.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>There are two Hyper-V storage counter sets because of how storage works in Hyper-V. In Hyper-V we provide two virtual storage buses for VM’s. One is IDE and one is SCSI. The Virtual IDE counters show up in the “Hyper-V Virtual IDE Controller” counter set unless Integration Services are loaded and then you will see the activity for both virtual IDE and SCSI in the “Hyper-V Virtual Storage Device” counter set. If you don’t have integration services installed the only the “Hyper-V Virtual IDE Controller” will show the VM disk activity.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.Logical.Processor.Hypervisor.RunTime.Rule" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>For guest VM’s this is the percentage of time the guest VP is running in hypervisor code on an LP or for the _Total the total across all guest VP’s.   For the root this is the percentage of time the root VP is running in hypervisor code on an LP</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.LogicalDisk.Avg.DiskSecRead.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Avg. Disk sec/Read is the average time, in seconds, of a read of data to the disk. This analysis determines if any of the physical disks are responding slowly.If the response times are greater than .015 (15 milliseconds), then the disk subsystem is keeping up with demand, but does not have much overhead left.If the response times are greater than .025 (25 milliseconds), then noticeable slow downs and performance issues affecting users may be occurring.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.LogicalDiskQueueLenght" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>The number of waiting I/O requests should be sustained at no more than 1.5 to 2 times the number of spindles that make up the physical disk. Most disks have one spindle, although redundant array of independent disk (RAID) devices usually have more than one spindle. A hardware RAID device appears as one physical disk in System Monitor. RAID devices created through software appear as multiple instances in System Monitor.Use the values of the <maml:ui>Current Disk Queue Length</maml:ui> and <maml:ui><![CDATA[% Disk Time]]></maml:ui> counters to detect bottlenecks within the disk subsystem. If <maml:ui>Current Disk Queue Length</maml:ui> and <maml:ui><![CDATA[% Disk Time]]></maml:ui> counter values are consistently high, consider doing one of the following:</maml:para>
              <maml:para>Using a faster disk drive.</maml:para>
              <maml:para>Moving some files to an additional disk or server.</maml:para>
              <maml:para>Adding disks to a RAID array, if one is being used.</maml:para>
              <maml:para>If you are using a RAID device, the <maml:ui><![CDATA[% Disk Time ]]></maml:ui>counter can indicate a value greater than 100 percent. If it does, use the <maml:ui>Avg. Disk Queue Length</maml:ui> counter to determine how many system requests, on average, are waiting for disk access.</maml:para>
              <maml:para>Applications and systems that are I/O-bound may keep the disk constantly active.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.LogicalDiskSecPerRead" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Avg. Disk sec/Read is the average time, in seconds, of a read of data to the disk. This analysis determines if any of the physical disks are responding slowly.</maml:para>
              <maml:para>If the response times are greater than .015 (15 milliseconds), then the disk subsystem is keeping up with demand, but does not have much overhead left.</maml:para>
              <maml:para>If the response times are greater than .025 (25 milliseconds), then noticeable slow downs and performance issues affecting users may be occurring.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.LogicalDiskSecPerWrite" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Avg. Disk sec/Write is the average time, in seconds, of a write of data to the disk. This analysis determines if any of the physical disks are responding slowly.</maml:para>
              <maml:para>If the response times are greater than .015 (15 milliseconds), then the disk subsystem is keeping up with demand, but does not have much overhead left.</maml:para>
              <maml:para>If the response times are greater than .025 (25 milliseconds), then noticeable slow downs and performance issues affecting users may be occurring.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.LogicalDiskSecWrite.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Avg. Disk sec/Write is the average time, in seconds, of a write of data to the disk. This analysis determines if any of the physical disks are responding slowly.If the response times are greater than .015 (15 milliseconds), then the disk subsystem is keeping up with demand, but does not have much overhead left.If the response times are greater than .025 (25 milliseconds), then noticeable slow downs and performance issues affecting users may be occurring.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.MemoryAvailableMB" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Available MBytes is the amount of physical RAM, in Megabytes, immediately available for allocation to a process or for system use. It is equal to the sum of memory assigned to the standby (cached), free and zero page lists. If this counter is low, then the computer is running low on physical RAM.</maml:para>
              <maml:para>RAM resource required by Virtual Machines should not exceed the Amount of physical RAM on the host - Host reserve.</maml:para>
              <maml:para />
              <maml:para>Host reserve in a non-dynamic memory configuration depends on the parent partition Operating System version and is defined as follows</maml:para>
              <maml:para>Host Reserve for Windows 2008 / 2008 R2 Core Edition is 300 MB for Hypervisor + 512 MB for parent partition + VM overhead.</maml:para>
              <maml:para>Host Reserve for Windows 2008 / 2008 R2 Full Edition is 300 MB for Hypervisor + 1024 MB for parent partition + VM overhead.</maml:para>
              <maml:para>Where VM Overhead is 32MB for the first 1GB of ram in each VM, plus 8MB for each subsequent GB of ram in each VM.</maml:para>
              <maml:para />
              <maml:para>Host reserve in a Dynamic Memory configuration is defined as follows</maml:para>
              <maml:para>In summary, the default value for this is calculated based on the following formula:</maml:para>
              <maml:para>
                <maml:ui>384MB + 30MB per 1GB</maml:ui> of physical memory on the host machine. </maml:para>
              <maml:para>(For a machine without SLAT (Second Level Address Translation) enabled CPUs, it is slightly higher)</maml:para>
              <maml:para>So for my SLAT enabled Hyper-V server with 64GB RAM, this would mean the default value is:</maml:para>
              <maml:para>
                <maml:ui>384 + (30 * 64) = 2304 (MB)</maml:ui>
              </maml:para>
              <maml:para />
              <maml:para />
            </maml:section>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>External</maml:title>
              <maml:para>
                <maml:navigationLink>
                  <maml:linkText>http://blogs.technet.com/b/virtualpfe/archive/2011/08/29/hyper-v-dynamic-memory-and-host-memory-reserve-setting.aspx</maml:linkText>
                  <maml:uri href="http://blogs.technet.com/b/virtualpfe/archive/2011/08/29/hyper-v-dynamic-memory-and-host-memory-reserve-setting.aspx" />
                </maml:navigationLink>
              </maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.NetworkInterface.OutputQueueLength.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>The output queue length measures the number of threads waiting on the network adapter. If there are more than 2 threads waiting on the network adapter, then the network may be a bottleneck. Common causes of this are poor network latency and/or high collision rates on the network. If this is longer than two, there are delays and the bottleneck should be found and eliminated, if possible. Since the requests are queued by the Network Driver Interface Specification (NDIS) in this implementation, this will always be 0.”</maml:para>
              <maml:para>Use the following thresholds to evaluate output queue length:</maml:para>
              <maml:para>0 = Healthy</maml:para>
              <maml:para>1-2 = Monitor or Caution</maml:para>
              <maml:para>Greater than 2 = Critical, performance will be adversely affected</maml:para>
              <maml:para>Note: This counter does not work (always 0) in Windows Server 2008 R2 or Windows 7. Use Resource Monitor for packet loss and latency—see note below.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.NUMARemotePages.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Every VM in Hyper-V has a default NUMA node preference. Hyper-V uses this NUMA node preference when assigning physical memory to the VM and when scheduling the VM’s virtual processors. A VM runs best when the virtual processors and the memory that backs the VM are both on the same NUMA node, since such “remote” memory access is significantly slower than “local” access</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.PhysicalDisk.SecPerRead.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Avg. Disk sec/Read is the average time, in seconds, of a read of data to the disk. This analysis determines if any of the physical disks are responding slowly.</maml:para>
              <maml:para>If the response times are greater than .015 (15 milliseconds), then the disk subsystem is keeping up with demand, but does not have much overhead left.</maml:para>
              <maml:para>If the response times are greater than .025 (25 milliseconds), then noticeable slow downs and performance issues affecting users may be occurring.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.PhysicalDisk.SecPerWrite.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Avg. Disk sec/Write is the average time, in seconds, of a wrtie of data to the disk. This analysis determines if any of the physical disks are responding slowly.</maml:para>
              <maml:para>If the response times are greater than .015 (15 milliseconds), then the disk subsystem is keeping up with demand, but does not have much overhead left.</maml:para>
              <maml:para>If the response times are greater than .025 (25 milliseconds), then noticeable slow downs and performance issues affecting users may be occurring.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.PhysicalDiskQueueLenght" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>The number of waiting I/O requests should be sustained at no more than 1.5 to 2 times the number of spindles that make up the physical disk. Most disks have one spindle, although redundant array of independent disk (RAID) devices usually have more than one spindle. A hardware RAID device appears as one physical disk in System Monitor. RAID devices created through software appear as multiple instances in System Monitor.Use the values of the <maml:ui>Current Disk Queue Length</maml:ui> and <maml:ui><![CDATA[% Disk Time]]></maml:ui> counters to detect bottlenecks within the disk subsystem. If <maml:ui>Current Disk Queue Length</maml:ui> and <maml:ui><![CDATA[% Disk Time]]></maml:ui> counter values are consistently high, consider doing one of the following:</maml:para>
              <maml:para>Using a faster disk drive.</maml:para>
              <maml:para>Moving some files to an additional disk or server.</maml:para>
              <maml:para>Adding disks to a RAID array, if one is being used.</maml:para>
              <maml:para>If you are using a RAID device, the <maml:ui><![CDATA[% Disk Time ]]></maml:ui>counter can indicate a value greater than 100 percent. If it does, use the <maml:ui>Avg. Disk Queue Length</maml:ui> counter to determine how many system requests, on average, are waiting for disk access.</maml:para>
              <maml:para>Applications and systems that are I/O-bound may keep the disk constantly active.</maml:para>
              <maml:para />
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.PhysicalDiskSecondsPerRead" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Avg. Disk sec/Read is the average time, in seconds, of a read of data to the disk. This analysis determines if any of the physical disks are responding slowly.</maml:para>
              <maml:para>If the response times are greater than .015 (15 milliseconds), then the disk subsystem is keeping up with demand, but does not have much overhead left.</maml:para>
              <maml:para>If the response times are greater than .025 (25 milliseconds), then noticeable slow downs and performance issues affecting users may be occurring.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.PhysicalDiskSecondsPerWrite" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Avg. Disk sec/Write is the average time, in seconds, of a wrtie of data to the disk. This analysis determines if any of the physical disks are responding slowly.</maml:para>
              <maml:para>If the response times are greater than .015 (15 milliseconds), then the disk subsystem is keeping up with demand, but does not have much overhead left.</maml:para>
              <maml:para>If the response times are greater than .025 (25 milliseconds), then noticeable slow downs and performance issues affecting users may be occurring.</maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.SLATAddressSpace.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para><![CDATA[Windows Server 2008 R2 Hyper-V supports a new feature named Second Level Address Translation (SLAT). SLAT leverages AMD-V Rapid Virtualization Indexing (RVI) and Intel VT Extended Page Tables (NPT) technology to reduce the overhead incurred during virtual to physical address mapping performed for virtual machines. Through RVI or EPT respectively, AMD-V and Intel VT processors maintain address mappings and perform (in hardware) the two levels of address space translations required for each virtual machine, reducing the complexity of the Windows hypervisor and the context switches needed to manage virtual machine page faults. With SLAT, the Windows hypervisor does not need to shadow the guest operating system page mappings. The reduction in processor and memory overhead associated with SLAT improves scalability with respect to the number of virtual machines that can be concurrently executed on a single Hyper-V server. As an example, the Microsoft Remote Desktop Services (RDS) team recently blogged about performance tests conducted using an internal simulation tool on a Windows Server 2008 Terminal Services configuration running as a virtual machine on Windows Server 2008 R2 Hyper-V. The results showed that a SLAT-enabled processor platform increased the number of supported sessions by a factor of 1.6 to 2.5 when compared with a non-SLAT processor platform. Overall, Microsoft reports that with SLAT-enabled processors, the Windows hypervisor processor overhead drops from about 10% to about 2%, and reduces memory usage by about 1 MB for each virtual machine.]]></maml:para>
            </maml:section>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>External</maml:title>
              <maml:para>
                <maml:navigationLink>
                  <maml:linkText>http://www.virtualizationadmin.com/articles-tutorials/microsoft-hyper-v-articles/general/second-level-address-translation-benefits-hyper-v-r2.html</maml:linkText>
                  <maml:uri href="http://www.virtualizationadmin.com/articles-tutorials/microsoft-hyper-v-articles/general/second-level-address-translation-benefits-hyper-v-r2.html" />
                </maml:navigationLink>
              </maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
        <KnowledgeArticle ElementID="CustomHyperVMP.VirtualTLBFlush.Monitor" Visible="true">
          <MamlContent>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>Summary</maml:title>
              <maml:para>Video card drivers tend to use memory access methods that cause Hyper-V to need to clear out the CPU cache for memory page table mapping a lot.  This is an expensive thing to do in Hyper-V at the best of times.  </maml:para>
            </maml:section>
            <maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
              <maml:title>External</maml:title>
              <maml:para>
                <maml:navigationLink>
                  <maml:linkText>http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/11/16/understanding-high-end-video-performance-issues-with-hyper-v.aspx</maml:linkText>
                  <maml:uri href="http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/11/16/understanding-high-end-video-performance-issues-with-hyper-v.aspx" />
                </maml:navigationLink>
              </maml:para>
            </maml:section>
          </MamlContent>
        </KnowledgeArticle>
      </KnowledgeArticles>
    </LanguagePack>
    <LanguagePack ID="ESN" IsDefault="false">
      <DisplayStrings>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor.Critical" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor.Critical" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor.Critical_AlertMessageResourceID">
          <Name>Dynamic Memory Balancer Avergage Pressure (Critical)</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMBalancerAveragePressure.Monitor_AlertMessageResourceID">
          <Name>Dynamic Memory Balancer Avergage Pressure</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor.Critical" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor.Critical" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor.Critical_AlertMessageResourceID">
          <Name>Dynamic Memory Virtual Machine Average Pressure (Critical)</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.DMVirtualMachineAveragePressure.Monitor_AlertMessageResourceID">
          <Name>Dynamic Memory Virtual Machine Average Pressure</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVirtualProcessor.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVirtualProcessor.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVirtualProcessor.Monitor_AlertMessageResourceID">
          <Name><![CDATA[Hyper-V Virtual Processor (%Guest Run Time)]]></Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessor.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessor.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessor.Monitor_AlertMessageResourceID">
          <Name><![CDATA[Hyper-V Logical Processor (%Total Run Time)]]></Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Critical" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Critical" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Critical_AlertMessageResourceID">
          <Name><![CDATA[Hyper-V Logical Processor (%Hypervisor RunTime) Critical]]></Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Warning" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Warning" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVLogicalProcessorHypervisorRunTime.Warning_AlertMessageResourceID">
          <Name><![CDATA[Hyper-V Logical Processor (%Hypervisor RunTime)]]></Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineHealthSummary.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineHealthSummary.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineHealthSummary.Monitor_AlertMessageResourceID">
          <Name>Hyper-V Virtual Machine Health Summary (Failed VMs)</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineSummary.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineSummary.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualMachineSummary.Monitor_AlertMessageResourceID">
          <Name>Hyper-V Virtual Machine Summary (Stopped VMs)</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualStorageErrorCount.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualStorageErrorCount.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.HyperVVirtualStorageErrorCount.Monitor_AlertMessageResourceID">
          <Name>Hyper-V Virtual Storage Error Count (on each VHD file)</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDisk.Avg.DiskSecRead.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDisk.Avg.DiskSecRead.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDisk.Avg.DiskSecRead.Monitor_AlertMessageResourceID">
          <Name>Logical Disk Seconds per Read</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDiskSecWrite.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDiskSecWrite.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.LogicalDiskSecWrite.Monitor_AlertMessageResourceID">
          <Name>Logical Disk Seconds per Write</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.MemoryAvailableMB" SubElementID="OverThreshold1UnderThreshold2">
          <Name>OverThreshold1UnderThreshold2</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.MemoryAvailableMB" SubElementID="OverThreshold2">
          <Name>OverThreshold2</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.MemoryAvailableMB" SubElementID="UnderThreshold1">
          <Name>UnderThreshold1</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.MemoryAvailableMB_AlertMessageResourceID">
          <Name>Memory Available MBytes</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}
          </Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NetworkInterface.OutputQueueLength.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NetworkInterface.OutputQueueLength.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NetworkInterface.OutputQueueLength.Monitor_AlertMessageResourceID">
          <Name>Network Interface Output Queue Length</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NUMARemotePages.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NUMARemotePages.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.NUMARemotePages.Monitor_AlertMessageResourceID">
          <Name>NUMA Remote Pages</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.SecPerRead.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.SecPerRead.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.SecPerRead.Monitor_AlertMessageResourceID">
          <Name>Physical Disk Seconds Per Read</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.SecPerWrite.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.SecPerWrite.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.PhysicalDisk.SecPerWrite.Monitor_AlertMessageResourceID">
          <Name>Physical Disk Seconds Per Write</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.SLATAddressSpace.Monitor" SubElementID="OverThreshold">
          <Name>OverThreshold</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.SLATAddressSpace.Monitor" SubElementID="UnderThreshold">
          <Name>UnderThreshold</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.SLATAddressSpace.Monitor_AlertMessageResourceID">
          <Name>SLAT Address Space (SLAT CPU)</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.VirtualTLBFlush.Monitor" SubElementID="ConditionFalse">
          <Name>ConditionFalse</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.VirtualTLBFlush.Monitor" SubElementID="ConditionTrue">
          <Name>ConditionTrue</Name>
        </DisplayString>
        <DisplayString ElementID="CustomHyperVMP.VirtualTLBFlush.Monitor_AlertMessageResourceID">
          <Name>Virtual TLB Flushes (Non-Optimized Video card)</Name>
          <Description>Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}</Description>
        </DisplayString>
      </DisplayStrings>
    </LanguagePack>
  </LanguagePacks>
</ManagementPack>